#include "yellowbutton.h"



YellowButton::YellowButton(const QString &text, QWidget *parent)
    : QPushButton(text, parent)  // 调用父类QPushButton的构造函数
{
    // 可选：设置按钮默认大小
    setMinimumSize(100, 40);
}

// 重写绘制事件，手动绘制黄色背景
void YellowButton::paintEvent(QPaintEvent *event)
{
    Q_UNUSED(event);  // 忽略未使用的参数警告

    // 创建画家对象，绘制目标为当前按钮
    QPainter painter(this);
    // 抗锯齿设置（使绘制更平滑）
    painter.setRenderHint(QPainter::Antialiasing);

    // 1. 绘制黄色背景
    // 状态判断：按下时用深黄色，否则用亮黄色
    QColor bgColor = isDown() ? QColor(255, 255, 100) : QColor(255, 255, 0);
    painter.fillRect(rect(), bgColor);  // 填充整个按钮区域

    // 2. 绘制边框（灰色，1px宽）
    painter.setPen(QPen(QColor(150, 150, 150), 1));  // 画笔：灰色，粗细1px
    painter.drawRoundedRect(rect().adjusted(0, 0, -1, -1), 3, 3);  // 圆角矩形边框

    // 3. 绘制按钮文字（居中，黑色）
    painter.setPen(QPen(Qt::black));  // 文字颜色：黑色
    painter.drawText(rect(), Qt::AlignCenter, text());  // 居中绘制文字
}
